To improve performance, some processors may access data that is stored in a cache. Generally, data stored in a cache may be accessed more quickly than data stored in a main system memory. In some implementations, multiple levels of cache may be present, for example, with each level having a different size and/or access speed. Accordingly, system performance may be dependent on how the cache or its multiple levels are used.
Further, some processors operate on multiple pieces of data with a single instruction, also known as single-instruction-multiple-data (SIMD) processing. Some implementations include gather and scatter instructions. These instructions collect pieces of possibly noncontiguous data in memory for SIMD processing.